using Common;
using MongoDB.Bson;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AnesSystem.Models
{
    public class AccountModel : ObservableObject
    {
        private ObjectId _id;
        private string neiBuId;
        private string loginName="";
        private string workID;
        private string trueName;
        private string hisID;
        private string gender;
        private string officeID;
        private string officeName;
        private DateTime dob;
        private string role;
        private string title;
        private string schoolLevel;
        private DateTime inDate;
        private DateTime outDate;
        private string pwd="";
        private DateTime createTime;
        private DateTime lastUpdateTime;
        private string status;
        private DateTime invalidDate;
        private string invalidReason;
        private bool canLogin;
        private string phone;
        private string latestSignedPic;
        private string orLevel;
        private string roleId;
        private string zhiCheng;
        public AccountModel()
        {

        }
        public AccountModel(ObjectId id)
        {
            _id = id;
        }
        public string NeiBuId
        {
            get
            {
                return neiBuId;
            }

            set
            {
                neiBuId = value;
                RaisePropertyChanged("NeiBuId");
            }
        }
        public string LoginName
        {
            get
            {
                return loginName;
            }

            set
            {
                loginName = value;
                RaisePropertyChanged("LoginName");
            }
        }
        public string WorkID
        {
            get
            {
                return workID;
            }

            set
            {
                workID = value;
                RaisePropertyChanged("WorkID");
            }
        }
        public string TrueName
        {
            get
            {
                return trueName;
            }

            set
            {
                trueName = value;
                RaisePropertyChanged("TrueName");
            }
        }
        public string HisID
        {
            get
            {
                return hisID;
            }

            set
            {
                hisID = value;
                RaisePropertyChanged("HisID");
            }
        }
        public string Gender
        {
            get
            {
                return gender;
            }

            set
            {
                gender = value;
                RaisePropertyChanged("Gender");
            }
        }
        public string OfficeID
        {
            get
            {
                return officeID;
            }

            set
            {
                officeID = value;
                RaisePropertyChanged("OfficeID");
            }
        }
        public string OfficeName
        {
            get
            {
                return officeName;
            }

            set
            {
                officeName = value;
                RaisePropertyChanged("OfficeName");
            }
        }
        public DateTime Dob
        {
            get
            {
                return dob;
            }

            set
            {
                dob = value;
                RaisePropertyChanged("Dob");
            }
        }
        public string Role
        {
            get
            {
                return role;
            }

            set
            {
                role = value;
                RaisePropertyChanged("Role");
            }
        }
        public string Title
        {
            get
            {
                return title;
            }

            set
            {
                title = value;
                RaisePropertyChanged("Title");
            }
        }
        public string SchoolLevel
        {
            get
            {
                return schoolLevel;
            }

            set
            {
                schoolLevel = value;
                RaisePropertyChanged("SchoolLevel");
            }
        }
        public DateTime InDate
        {
            get
            {
                return inDate;
            }

            set
            {
                inDate = value;
                RaisePropertyChanged("InDate");
            }
        }
        public DateTime OutDate
        {
            get
            {
                return outDate;
            }

            set
            {
                outDate = value;
                RaisePropertyChanged("OutDate");
            }
        }
        public string Pwd
        {
            get
            {
                return pwd;
            }

            set
            {
                pwd = value;
                RaisePropertyChanged("Pwd");
            }
        }
        public DateTime CreateTime
        {
            get
            {
                return createTime;
            }

            set
            {
                createTime = value;
                RaisePropertyChanged("CreateTime");
            }
        }
        public DateTime LastUpdateTime
        {
            get
            {
                return lastUpdateTime;
            }

            set
            {
                lastUpdateTime = value;
                RaisePropertyChanged("LastUpdateTime");
            }
        }
        public string Status
        {
            get
            {
                return status;
            }

            set
            {
                status = value;
                RaisePropertyChanged("Status");
            }
        }
        public DateTime InvalidDate
        {
            get
            {
                return invalidDate;
            }

            set
            {
                invalidDate = value;
                RaisePropertyChanged("InvalidDate");
            }
        }
        public string InvalidReason
        {
            get
            {
                return invalidReason;
            }

            set
            {
                invalidReason = value;
                RaisePropertyChanged("InvalidReason");
            }
        }
        public bool CanLogin
        {
            get
            {
                return canLogin;
            }

            set
            {
                canLogin = value;
                RaisePropertyChanged("CanLogin");
            }
        }
        public string Phone
        {
            get
            {
                return phone;
            }

            set
            {
                phone = value;
                RaisePropertyChanged("Phone");
            }
        }
        public string LatestSignedPic
        {
            get
            {
                return latestSignedPic;
            }

            set
            {
                latestSignedPic = value;
                RaisePropertyChanged("LatestSignedPic");
            }
        }
        public string OrLevel
        {
            get
            {
                return orLevel;
            }

            set
            {
                orLevel = value;
                RaisePropertyChanged("OrLevel");
            }
        }
        public string RoleId
        {
            get
            {
                return roleId;
            }

            set
            {
                roleId = value;
                RaisePropertyChanged("RoleId");
            }
        }
        public string ZhiCheng
        {
            get
            {
                return zhiCheng;
            }

            set
            {
                zhiCheng = value;
                RaisePropertyChanged("ZhiCheng");
            }
        }

        public ObjectId Id
        {
            get
            {
                return _id;
            }

            set
            {
                _id = value;
            }
        }
    }
}